#include <iostream>
using namespace std;

// int main()
// {
//     // cout << "hello world" << endl;

//     int a = 10;
//     int b = {1};
//     int c{2};
//     int d(10);

//     int arr1[]{1,2,3,4,5,6,7};

//     return 0;
// }

//非常不建议用auto做返回值
// auto test()
// {
//     auto a = 10;
//     return a;
// }

// int main()
// {
//     auto a = test();
//     cout << a << endl;
//     return 0;
// }

// int main()
// {
//     int x = 1;
//     double a = 3.14;
//     cout << typeid(x).name() <<endl;
//     cout << typeid(a).name() <<endl;
//     decltype(x) t = 1;
//     decltype(a) b = 1;
//     cout << typeid(t).name() <<endl;
//     cout << typeid(b).name() <<endl;
//     return 0;
// }

// int func1()
// {
//     static int i = 10;
//     return i;
// }

// int& func2()
// {
//     static int i = 20;
//     return i;
// }

// int main()
// {
//     // int i = 0;
//     // int* p = &i;
//     // cout << &func2()<<endl;
//     int&& i = func1();
//     return 0;
// }


void func(const int& i)
{
    cout << "void func(const int& i)" <<endl;
}

void func(int&& i)
{
    cout << "void func(int&& i)" <<endl;
}

int main()
{
    int i = 10;
    func(i);
    func(10);
    return 0;
}





